A new generation video compression standard H.265/HEVC (High Efficiency Video Coding) jointly developed by ITU-T/VCEG (Video Coding Experts Group) and ISO/IEC MPEG continues the style of last generation video standard H.264/AVC and is compatible with scalable video coding (Scalable Video Coding). But different from H.264/AVC, H.265/HEVC puts forward a request for multiple coding standards jointed scalable coding (Different Coding Standards with Scalability). The currently released H.265/HEVC standard (Version 2014-10) is known as the “H.265/HEVC Version 2” standard. In Version 2, information used for indicating a base layer (Base Layer) is provided for hybrid coding (Hybrid Scalability), while how to put a picture of the base layer (Base Layer) into a reference frame management of an enhancement layer (Enhancement Layer) is implemented by using an external means (External Means), and the external means is not explained in Version 2.
It is expected that devices using H.264/AVC will be widely used in next few years, and H.264/AVC will be the main video coding protocol for digital videos throughout the world. Therefore, developing a new generation scalable video coding standard compatible with H.264/AVC will be very useful in a standard migration process.
The multiple coding standards jointed scalable coding refers to the combination of two bitstreams of different video standards according to a certain rule, and is also known as multi-protocol hybrid coding (Hybrid Coding). For example, in spatial scalability (Spatial Scalability), the base layer (Base Layer) contains a bitstream in which Constrained Baseline Profile, Main Profile and High Profile of H.264/AVC standard are compatible, and the enhancement layer (Enhancement Layer) includes a basic bitstream of HEVC. Pictures in the two layers may have the same size or different sizes, i.e., low resolution is adopted in H.264/AVC, and high resolution is adopted in H.265/HEVC. The base layer of the spatial scalability coding may also use a bitstream of MPEG-2, which is combined with a bitstream of the enhancement layer of H.265/HEVC to form the hybrid coding. For another example, in a view scalability (View Scalability), the base layer is a view using an H.264/AVC coding manner, and the enhancement layer is another view using a H.265/HEVC format and taking the base layer as a reference. The base layer of multiple coding standards jointed hybrid coding is not limited to H.264/AVC or MPEG-2.
A scalable bitstream composed of the bitstreams with the same protocol may be synchronized in various manners. For example, a video picture obtained at the same time in H.264/AVC and its corresponding coded bits form an access unit (Access Unit, AU). Therefore, the pictures in different layers may be synchronized through an AU scope. In H.265/HEVC, syntactic information such as POC (Picture Order Count) in a video bitstream may be used. For bitstreams of two layers or multiple layers of different video coding protocols, codecs thereof are respectively independent codecs, and syntactic information contained in different video bitstreams is slightly different. Therefore, to pack the bitstreams in what form or to provide what syntactic information to ensure synchronization is a problem that needs to be solved for hybrid coding (Hybrid Coding).
To this issue, one of the existing methods is to pack the bitstreams of H.264/AVC and H.265/HEVC as a whole and transmit the bitstreams by an internal means. In other words, the existing form of the bitstream of H.264/AVC may be indicated by adding some syntactic elements in H.265/HEVC. There are many related proposals in JCT-VC standard conference. For example, JCTVC-N0050 proposes a solution regarding hybrid bitstreams of AVC-HEVC and adds a new NAL header of H.265/HEVC (nal_unit_type=ENC_NUT) to a H.264/AVC NAL unit, which is packed as a HEVC NAL unit; avc_base_layer_flag is added in a VPS extension to indicate whether avc_base_profile_level_idc exists, while the avc_base_profile_level_idc indicates the capability set (profile) of H.264/AVC. The disadvantage of this means is that a standard H.264/AVC decoder cannot decode such a bitstream, and it needs to unpack the header information of the NAL unit corresponding to H.265/HEVC and then it can decode correctly.
JCTVC-O0190 proposes another different packing strategy with respect to JCTVC-N0050. It also proposes to pack the bitstreams of H.264/AVC and H.265/HEVC as a whole, but the H.264/AVC NAL unit of the base layer is unchanged while the H.265/HEVC NAL unit of the enhancement layer is added with one prefix byte (0x16) for the H.264/AVC decoder to identify that this portion of bitstreams cannot be decoded and discard the bitstreams, and the internal means is still used in the bitstream portion thereof. Meanwhile, it is suggested to add a variable HevcPrefixBytePresent, which indicates to the decoder that this prefix byte needs to be parsed. This means needs to add information that can identify different bitstreams in the NAL header or in front of the NAL header, while the decoder has to be capable of identifying the bitstreams belonging to it and the bitstreams not belonging to it. Therefore, a corresponding processing needs to be added in either the H.264/AVC decoder or the H.265/HEVC decoder if it wants to support the function of hybrid coding (Hybrid Coding). This function cannot be achieved without changing or slightly changing the decoder in the existing device.
It is apparent that the existing means transmits the bitstreams of different video standards on the basis of the internal means, and its alignment or synchronization processing needs to modify the existing coding and decoding devices, which has the effects of complicated implementation process, poor universality and high implementation cost.
This section provides background information related to the present disclosure which is not necessarily prior art.